package com.hotelvip.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hotelvip.entity.BasePojo;
import com.hotelvip.entity.Label;
import com.hotelvip.entity.User;
import com.hotelvip.vo.ImageVO;
import com.hotelvip.vo.VipCardVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @author Lzh
 * @date 2020/12/15 16:42
 */
@Data
@Accessors(chain = true)
@ApiModel(value = "vip客户用户对象", description = "vi客户用户对象VipUser")
public class VipUserDTO extends BasePojo {

    @ApiModelProperty(value = "vip客户用户id", name = "id")
    private Long id;
    @ApiModelProperty(value = "客户用户id", name = "userId")
    private Long userId;
    @ApiModelProperty(value = "vip卡号", name = "vipCode")
    private Long vipCode;
    @ApiModelProperty(value = "vip卡名", name = "vipName")
    private String vipName;
    @ApiModelProperty(value = "发行时间", name = "startDate")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;
    @ApiModelProperty(value = "结束时间", name = "endDate")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;
    @ApiModelProperty(value = "是否返现enum", name = "cashBack")
    private Integer cashBack;
    @ApiModelProperty(value = "是否可以转让enum", name = "makeOver")
    private Integer makeOver;
    @ApiModelProperty(value = "备注", name = "comment")
    private String comment;
    @ApiModelProperty(value = "创建用户", name = "createdUser")
    private String createdUser;
    @ApiModelProperty(value = "更新用户", name = "updatedUser")
    private String updatedUser;
    @ApiModelProperty(value = "购买人", name = "purchaser")
    private String purchaser;
    @ApiModelProperty(value = "证件类型", name = "idType")
    private Integer idType;
    @ApiModelProperty(value = "证件号码", name = "cid")
    private String cid;
    @ApiModelProperty(value = "电话", name = "phone")
    private String phone;
    @ApiModelProperty(value = "性别", name = "gender")
    private Integer gender;
    @ApiModelProperty(value = "状态", name = "gender",notes = "会员卡状态1未激活 2激活 3 注销 4过期")
    private Integer status;
    @ApiModelProperty(value = "预留人接收消息是否返现FlagEnum枚举1是0否", name = "receive")
    private Integer receive;
    @ApiModelProperty(value = "入会协议地址", name = "url")
    private String url;
    @ApiModelProperty(value = "会员卡激活时间", name = "ativationDate")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ativationDate;
    @ApiModelProperty(value = "套餐会员卡id", name = "cardId")
    private Long cardId;
    @ApiModelProperty(value = "User对象", name = "user")
    private User user;
    @ApiModelProperty(value = "VipCard对象", name = "vipCard")
    private VipCardVo vipCardVo;
    @ApiModelProperty(value = "ImageVo对象", name = "ImageVO")
    private ImageVO imageVo;
    @ApiModelProperty(value = "Label对象", name = "List<Label>")
    private List<Label> labels;
    @ApiModelProperty(value = "当前页码", name = "pageNum")
    private Integer pageNum;
    @ApiModelProperty(value = "页面大小", name = "pageSize")
    private Integer pageSize;
    @ApiModelProperty(value = "该会员的卡里拥有的商品", name = "vItems")
    private List<VipCardItem> vItems;
}
